A number of different types of serial data channels are familiar to those skilled in the art. One example is Fibre Channel (FC). As is well known, Fibre Channel is an American National Standards Institute (ANSI) standard specifying a bidirectional serial data channel, structured for high performance capability. Physically, the Fibre Channel may be viewed as an interconnection of multiple communication points, interconnected by a link comprising a switching network, called a fabric, or a point-to-point link. Fibre is a general term used to cover all physical media types supported by the Fibre Channel, such as optical fibre, twisted pair, and coaxial cable.
Additional details regarding these and other aspects of Fibre Channel can be found in the ANSI Fibre Channel standard documents, including the FC-PH, FC-FS, FC-AL-2, FC-PI, FC-DA, FC-MI and FC-LS documents, all of which are incorporated by reference herein.
As mentioned above, Fibre Channels may interconnect multiple communication points. For example, nodes in a communication system may communicate over one or more serial links. Nodes are typically configured having respective transmitters and receivers.
A serial link between nodes may be considered synchronous or asynchronous. Synchronous serial links utilize a clocking technique in which a clock signal is transmitted along with the data. Asynchronous serial links lack this clock signal. Thus, clocks at, and the resulting frequencies of, communicating transmitters and receivers are also asynchronous. The receiver determines the clocking of the signal on its own and derives how the signal is organized without consulting the transmitting device. Therefore, a receiver of a node may be connected with a first serial link having a first frequency, and a transmitter of the same node may be connected with a second serial link having a second, slightly different frequency. Similarly, when data is passed through a far end serial link, the receiver of a node may be connected to a first serial link and looped to the transmitter of the node that is connected to the same serial link. This data may be asynchronous to a system clock.
Asynchronous serial links are typically more efficient than synchronous serial links when there is low loss and low error rates over the transmission medium because data is not retransmitted. Further, asynchronous serial links do not require connection set-up steps before the communication is able to begin, as synchronous serial links require. However, asynchronous serial links are typically less reliable than synchronous serial links, and require hardware that is able to determine a clock signal. Finally, without an explicit clock signal, a transmitter in a node using an asynchronous serial link risks gradually losing synchronization with a receiver of the node.
Current implementations generally attempt to address the asynchronous serial link problem of losing clock synchronization through the insertion of special data words to accommodate the difference in frequency between the two serial channels. Another attempt utilizes a recovered clock of the receiver to clock the transmit channel. However, the recovered clock must be jitter-filtered before being used as the transmit clock, and jitter-filtering is complex and results in higher circuitry costs due to its area and power requirements.
Accordingly, what is needed is an improved approach to asynchronous serial data channel connection techniques in a communication system.